#pragma once

#ifndef _CORE_ENCODED_FILE_H_
#define _CORE_ENCODED_FILE_H_

#include <vector>
#include <string>

namespace ExamSystem
{
    class CEncodedFile
    {
    public:
        CEncodedFile(void);
        ~CEncodedFile(void);

    public:
        void Clear(void);

        // encode
        void AddPathFile(const std::string &fileName);
        int GetFileCount(void) const;
        const std::string &GetFileName(int idx) const;
        const std::string &GetEncodedString(void) const;
        
        // decode
        void SetEncodedString(const std::string &str);
        void Decode(const std::string &targetPath);

    protected:
        void Encode(void);

    protected:
        std::vector<std::string> m_fileNames;
        std::string m_encodedString;
    };
}

#endif